package com.sanri.buildingblock.exportcenter.annotation;

import com.sanri.buildingblock.exportcenter.enums.OperationType;
import com.sanri.buildingblock.exportcenter.enums.Sync;

import java.lang.annotation.*;

/**
 * @author huangzhengri
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface ExcelExport {
    /**
     * 当前方法唯一标识, 需要全局唯一
     * @return
     */
    String uniqueId();

    /**
     * 操作类型: 导入, 导出
     * @return
     */
    OperationType type() ;

    /**
     * 是否异步
     * @return
     */
    Sync sync();

    /**
     * 方法描述
     * @return
     */
    String description();

    /**
     * 对于导入的情况, 需要用户提供文件路径
     * @return
     */
    FileLocation fileLocation() ;
}
